// 深度优先搜索的递归实现
void DFS(Graph &G, int v) {
    G.Mark[v] = VISITED; // 标记为设置为VISITED
    Visit(G, v);         // 访问顶点v
    for (Edge e = G.FristEdge(V); G.IsEdge(e); e = G.NextEdge(e))
        if (G.Mark[G.ToVertex(e)] == UNIVISTED)
            DFS(G, G.ToVertex(e));
    PostVIsit(G, v); // 对顶点v的后访问
}
